"""
在stu下创建数据表user 有三个字段 id user password
其中有若干数据

编写函数 使用input输入用户名,密码 验证是否可以登陆成功
    成功则返回True
    失败则返回False

mysql> use stu;
mysql> create table user (
    -> id int primary key auto_increment,
    -> user varchar(30),
    -> password varchar(30)
    -> );
mysql> insert into user (user,password) values
    -> ('aaa','aaapwd123456'),
    -> ('bbb','bbbpwd123456');

"""

import pymysql


class Exe:
    kwargs = {
        'host': 'localhost',
        'port': 3306,
        'user': 'root',
        'password': '123456',
        'database': 'stu',
        'charset': 'utf8'
    }

    # 参数这里与类变量要配合好-->需要回顾一下第一阶段参数的使用
    def __init__(self, host='localhost', port=3306, user='root', pwd='123456', db_name='stu', charset='utf8'):
        self.kwargs = {
            'host': host,
            'port': port,
            'user': user,
            'password': pwd,
            'database': db_name,
            'charset': charset
        }
        # 连接数据库\生成游标
        self.db = pymysql.connect(**self.kwargs)
        self.cur = self.db.cursor()

    def close(self):
        # 关闭游标\断开数据库连接
        self.cur.close()
        self.db.close()

    def login(self):
        user = input("请输入用户名:")
        pwd = input("请输入密码:")

        # 操作数据 读/写
        sql = "select id from stu.user where user.user=%s and user.password=%s"
        self.cur.execute(sql, (user, pwd))
        if self.cur.fetchone():
            return True
        else:
            return False

    def main(self):
        print(self.login())
        self.close()


if __name__ == '__main__':
    exe = Exe()
    exe.main()
